package com.sgb.kjwl.utils;

import com.sgb.kjwl.model.entity.enterprise.IpPickSelectEntity;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Time:2021/4/1
 * Author:黄淋
 * Description:对筛选价格项统一处理
 */
public class PickPriceUtils {

    public static Map<String, Object> pickPrice(Map<String, Object> map, IpPickSelectEntity entity) {
        if (null == entity)
            return map;
        if (entity.getMaxPrice().equals("-1")) {
            map.put("maxPrice", entity.getMaxPrice());
        } else if (!entity.getMaxPrice().equals("") && !entity.getMaxPrice().equals("0")) {
            //最高价格
            map.put("maxPrice", NumberUtil.trim0(String.valueOf(Float.parseFloat(entity.getMaxPrice()) * 10000)));
        } else {
            map.put("maxPrice", "0");
        }
        if (entity.getMinPrice().equals("-1")) {
            map.put("minPrice", entity.getMinPrice());
        } else if (!entity.getMinPrice().equals("") && !entity.getMinPrice().equals("0")) {
            //最低价格
            map.put("minPrice", NumberUtil.trim0(String.valueOf(Float.parseFloat(entity.getMinPrice()) * 10000)));
        } else {
            map.put("minPrice", "0");
        }
        if (entity.getName().equals("不限")) {
            map.remove("maxPrice");
            map.remove("minPrice");
        }
        return map;
    }

    public static String getMaxPrice(IpPickSelectEntity entity) {
        if (null == entity)
            return "";
        String maxPrice = "";
        if ((entity).getMaxPrice().equals("-1")) {
            maxPrice = entity.getMaxPrice();
        } else if (!entity.getMaxPrice().equals("") && !entity.getMaxPrice().equals("0")) {
            //最高价格
            maxPrice = NumberUtil.trim0(String.valueOf(Float.parseFloat(entity.getMaxPrice()) * 10000));
        } else {
            maxPrice = "0";
        }
        if (entity.getName().equals("不限")) {
            maxPrice = "";
        }
        return maxPrice;
    }

    public static String getMinPrice(IpPickSelectEntity entity) {
        if (null == entity)
            return "";
        String minPrice = "";
        if (entity.getMinPrice().equals("-1")) {
            minPrice = entity.getMinPrice();
        } else if (!entity.getMinPrice().equals("") && !entity.getMinPrice().equals("0")) {
            //最低价格
            minPrice = NumberUtil.trim0(String.valueOf(Float.parseFloat(entity.getMinPrice()) * 10000));
        } else {
            minPrice = "0";
        }
        if (entity.getName().equals("不限")) {
            minPrice = "";
        }
        return minPrice;
    }

    public static List<IpPickSelectEntity> showPriceList(List<IpPickSelectEntity> priceDatas) {
        List<IpPickSelectEntity> listChange = new ArrayList<>();
        for (IpPickSelectEntity entity : priceDatas) {
            if (entity.getName().equals("不限")) {
//                entity.setName("不限");
            } else if (entity.getMinPrice().equals("0")) {
                entity.setName(entity.getMaxPrice() + "万以下");
            } else if (entity.getMaxPrice().equals("0")) {
                entity.setName(entity.getMinPrice() + "万以上");
            } else {
                String minPrice;
                String maxPrice;
                if (entity.getMaxPrice().contains("0.")) {
                    maxPrice = NumberUtil.trim0(String.valueOf(Float.parseFloat(entity.getMaxPrice()) * 10000));
                } else {
                    maxPrice = entity.getMaxPrice() + "万";
                }
                if (entity.getMinPrice().contains("0.")) {
                    minPrice = NumberUtil.trim0(String.valueOf(Float.parseFloat(entity.getMinPrice()) * 10000));
                } else {
                    minPrice = entity.getMinPrice() + "万";
                }
                entity.setName(minPrice + "-" + maxPrice);
            }
            entity.setMaxPrice(entity.getMaxPrice());
            entity.setMinPrice(entity.getMinPrice());
            listChange.add(entity);
        }
        listChange.add(new IpPickSelectEntity("", "议价", "-1", "-1", "", "", ""));
        return listChange;
    }
}
